package com.dotflat.physicalevaluate.service;


import com.dotflat.physicalevaluate.domain.importexport.PhysicEvaluateImportRecord;
import com.dotflat.physicalevaluate.domain.pe.PERecord;
import com.matt.commons.dto.sso.StaffDTO;
import com.matt.commons.page.PagerQuery;
import com.matt.domain.Children;
import com.matt.domain.Classes;
import org.springframework.data.domain.Page;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

public interface PhysicEvaluateService {
    //
    PhysicEvaluateImportRecord importEvaluateRAW(String areaId, StaffDTO staff, Classes classes, MultipartFile file);

    boolean deleteReport(StaffDTO staff, String importRecordId);

    PhysicEvaluateImportRecord getByStaffIdAndId(String staffId, String id);

    //
    Page<PERecord> getEvaluatePage(StaffDTO staff, String classesId, String childrenName, PagerQuery query);

    //
    PhysicEvaluateImportRecord draftRecord(StaffDTO staff, String classId);
    PhysicEvaluateImportRecord newRecord(StaffDTO staff, String classId);
    Map addRecordValue(StaffDTO staff, String recordId, String childrenId, Integer type, String value);
    //
    Integer addRecordValues(StaffDTO staff, String recordId, Integer type, String values);

    PhysicEvaluateImportRecord finishDraft(StaffDTO staff, String recordId);

    //
    PERecord addReport(StaffDTO staff, Children c, String values);

    //
    PERecord getEvaluateDetail(String evaluateId);
    PERecord getEvaluateDetail(String areaId, String evaluateId);
    PERecord getEvaluateDetailById(String areaId, String evaluateId, String recommendChannel);
}
